-- Генерация игры
function gen_game()
	gen_planets();
	gen_cities();
	gen_buildings();
	gen_startplace()
end;

-- Генерация планет
function gen_planets()
	local n = rnd(kol.planets.max-kol.planets.min+1)+(kol.planets.min-1);
	for i=1, n, 1 do
		planets[i] = {
			['name'] = gen_planets_name();
			['cities'] = {};
		};
	end;
end;

-- Генерация имени планеты
function gen_planets_name()
	local check = false;
	local t;
	while not check do
		check = true;
		t = names.planets[rnd(table.maxn(names.planets))];
		for i=1, table.maxn(planets), 1 do
			if planets[i].name == t then check = false; end;
		end;
	end;
	return t;
end;

-- Генерация городов
function gen_cities()
	for i=1, table.maxn(planets), 1 do
		local n = rnd(kol.cities.max-kol.cities.min+1)+(kol.cities.min-1);
		for u=1, n, 1 do
			planets[i].cities[u] = {
				['name'] = gen_cities_name();
				['build'] = {};
			};
		end;
	end;
end;

-- Генерация имени города
function gen_cities_name()
	local check = false;
	local t;
	while not check do
		check = true;
		t = names.cities[rnd(table.maxn(names.cities))];
		for i=1, table.maxn(planets), 1 do
			for u=1, table.maxn(planets[i].cities), 1 do
				if planets[i].cities[u].name == t then check = false; end;
			end;
		end;
	end;
	return t;
end;

-- Генерация строений (пока что реализован космопорт)
function gen_buildings()
	for i=1, table.maxn(planets), 1 do
		local n = rnd(table.maxn(planets[i].cities));
		for u=1, table.maxn(planets[i].cities), 1 do
			if u == n then planets[i].cities[u].build = {['spaceport'] = true};
			else planets[i].cities[u].build = {['spaceport'] = false;};
			end;
		end;
	end;
end;

-- Генерация стартового местоположения
function gen_startplace()
	local p = rnd(table.maxn(planets));
	local c = rnd(table.maxn(planets[p].cities));
	player.planet = planets[p].name;
	player.city = planets[p].cities[c].name;
	player.build = 'spaceport';
end;
